package com.dl.tt.mapper;

import com.dl.tt.pojo.User;
import com.dl.tt.vo.Max;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface UserMapper {


    // 模糊查询
    public List<User> queryByPwdContent(String pwd);

    // 分页查询
    public List<User> queryByIndex(@Param("pageNum") int pageNum, @Param("pageSize") int pageSize);



    // 查询全部数据
    List<User> findAll();


    User findUserById(int id);

    // map.put("param1",name)
    // map.put("param2",id)
    User findUserById1(  @Param("user")String name, @Param("id") int id);

    // 按照条件查询使用map方式进行查询
    // map.put("name","zs")
    // map.put("pwd",'123456')
    // map中key如何编写，在SQL语句中就如何进行编写
    User findUserByContition(Map<String,String> contionMap);


    // 需求根据id删除多条数据 id = 1002  id = 1014  id = 1015 删除
    // SQL语句是什么
    // DELETE FROM user WHERE 1=1 AND id = 1002 OR id = 1014 OR id = 1015
    // 以上这个写法还可以写成什么形式？
    // DELETE FORM user id in(1001,1014,1015)
    // map.put("array",ids)
    void delByids(@Param("ids") int[] ids);


    // 更新一个条件记录，id是不能修改，是主键。如果不是主键，可以修改
    // 更新参数应该是什么呢？
    void update(User u);

    // 获取一个最大id数值和最小数值
    Max maxId();

}
